package modele;

import modele.Unite.Archer;
import modele.Unite.Geant;
import modele.Unite.Gobelin;
import modele.Unite.Soldat;

public class AmeliorationPuissanceAttaque extends Amelioration{
	
	private static final long serialVersionUID = 317866596645865809L;

	public AmeliorationPuissanceAttaque()
	{
		coutElixir = 500;
	}
	
	/**
	 * augmente la puissance de l'attaque de toutes les unités attaquantes de 5%
	 */
	public void augmenterNiveauSpecifique(Joueur joueur)
	{
		//on met à jour les valeurs statiques initiales pour chaque classe
		Gobelin.puissanceAttaqueInitiale = Gobelin.puissanceAttaqueInitiale + (Gobelin.puissanceAttaqueInitiale*5/100);
		Archer.puissanceAttaqueInitiale = Archer.puissanceAttaqueInitiale + (Archer.puissanceAttaqueInitiale*5/100);
		Soldat.puissanceAttaqueInitiale = Soldat.puissanceAttaqueInitiale + (Soldat.puissanceAttaqueInitiale*5/100);
		Geant.puissanceAttaqueInitiale = Geant.puissanceAttaqueInitiale + (Geant.puissanceAttaqueInitiale*5/100);
		//on met à jour les valeurs de chaque instance d'uniteAttaquante créées
		for(int i = 0; i < joueur.getListeUniteAttaquante().size(); i++)//terminer la mise à jour des constructeurs des unites avant de continuer
		{
			joueur.getListeUniteAttaquante().get(i).setPuissanceAttaque(joueur.getListeUniteAttaquante().get(i).getPuissanceAttaque() + joueur.getListeUniteAttaquante().get(i).getPuissanceAttaque()*5/100);
		}
	}
}
